
import Vue from 'vue'

// 适配工具
import 'amfe-flexible'
// 调试工具
// 企信客户端存在兼容性问题无法使用
import '@/utils/debug'

import App from './App.vue'
// 接口服务
// 必须引用在store之前 api模块才能正常引用store 因为由于循环引用
// 如果先引用store而内部又引用api模块 此时store模块没有执行完成 则会导致api模块内容的store引用为空
import api from './api'
import store from './store'
import router from './router'
import request, { getJSON, postJSON } from '@/utils/request'
// 项目全局配置
import config from './config'

import './assets/styles/main.scss'
// Vant组件库
import Vant from '@/libs/vant'
// A9组件库
import Components from '@/components'
// 全局组件
import './global-components'

// 初始化axios实例
request.create({
  baseURL: config.domain
})

Vue.config.productionTip = false

Vue
  .use(Vant)
  .use(Components)

// 公共Vue实例方法
Vue.prototype.$api = api
Vue.prototype.$config = config
Vue.prototype.$getJSON = getJSON
Vue.prototype.$postJSON = postJSON

Promise.all([

]).then(() => {
  new Vue({
    router,
    store,
    render: h => h(App),
    created () {
      // 设置预加载资源
      this.$store.commit('preload/set')
    },
    mounted () {
      // 展示app版本信息
      this.$store.commit('release/version')
    }
  }).$mount('#app')
})
